The present invention relates generally to telecommunication techniques. More particularly, the invention provides a method, system, and computer code for monitoring and collecting information of a telephone call from a source to a destination through one or more network elements. Merely by way of example, the invention is applied to a voice over packets network such as a voice over Internet Protocol network, commonly called an IP network. But it would be recognized that the invention has a much broader range of applicability. For example, the invention can be applied to many other types of networks and combination of networks, such as circuit switched voice network, packet based voice network (e.g., VoIP, VoATM, VoDSL,), IP based video streaming network, and others.
Telecommunications have rapidly changed over the years. In the early days, Greeks and Romans relied on communications between villages by way of using fires and smoke signals. Although effective in its days, such smoke signals were often limiting in the amount of information carried. Additionally, rain, wind, and other weather factors often hampered with such signals in an undesirable manner. Other forms of communication included the use of jungle drums, which transmitted information through sound between villages in Africa. Although such drums could convey more information than smoke signals, the drums were also limiting in the amount of information transmitted. More recently, Samuel F. B. Morse invented telegraph communications in the early 1800's. Telegraph carried electrical signals through wires disposed between towns. Such electrical signals included dots and dashes, which were used to represent certain letters of the alphabet. Such dots and dashes were commonly referred to as “Morse code.” Even though telegraph was fairly successful, the amount of information contained in the dots and dashes was still limiting.
Telephone soon replaced, in part, telegraph. More particularly in the late 1800s, Alexander Graham Bell invented the telephone system which carried voice signals from a source to a destination through wires. Hard wires were used to connect cities to cities, houses to houses, and the like. Telephone soon became a part of everyday life where millions of people made calls to each other to exchange information. By the 1990s, the use of computers that were connected to the telephone wires have also become widespread. Such computers communicated to each other using data packet communication over the telephone networks. One of the most famous of such networks, which connected computers around the world to each other, was called the “Internet.”
Data packet communication on the Internet is dominated by traffic transported using a transport communication protocol/Internet protocol (TCP/IP) suite of protocols. The Internet protocol (IP) header of these packets contains information related to recipient and sender addresses and ports, packet size, and protocol encapsulated in the IP packet, such as transport communication protocol (CP), user datagram protocol (UDP), or Internet control message protocol (ICMP). A data packet (“packet”) is a finite set of data and associated control bits of a standard maximum size, having a predefined protocol and organization.
When a user (or client) requests a web page containing embedded images, there will then be a number of TCP/IP sessions, in which information is transmitted between a web page server and the client server using TCP/IP. The number of TCP/IP sessions is equal to one more than the embedded image total, since an initial request is required to download the HyperText Markup Language (HTML) file describing the page and its contents. Each of these interactions has three stages: connection establishment, data transfer, and connection termination. A connection is established using a “three way handshake,” with a request from client to server, a response from the server, and an acknowledgment of the response. During this stage, the maximum packet size is agreed on. A document request then goes to the server, and the server responds. Each packet from server to client or client to server is acknowledged, either in its own packet, or “piggybacked” in a data packet. The closing of the connection requires an exchange of FIN (for finished”) commands, each one being acknowledged by the other end. A FIN command is a flag set in the packet header indicating that the sender is finished sending data.
Thus, in the first exchange, the client requests the HTML document describing the page. Upon receipt of this document, the web browser parses the document, and then initiates a series of connections for each of the embedded images (or any other type of file which may be part of the page). In typical usage, all of these exchanges occur under software control; the user has only clicked on a hypertext reference or entered a uniform resource locator (URL). As a result, these sessions will be set up and torn down faster than if they were user-initiated. Only the data packets from the server to the client that contain the document and the images are likely to be large; any packets other than data packets, e.g. control packets, will be relatively small, consisting of little more than the TCP/IP header and sometimes a small amount of control data. Further background information on TCP and IP may be found in W. R. Stevens, TCP/IP Illustrated, Vol. 1 (Addison-Wesley, 1994). Data communication has become widespread using the Internet.
Techniques used in data communication have now been implemented for voice communication. In the U.S., the telecommunication industry has undergone tremendous changes by way of introductions of the distributed Internet Protocol (IP) based switches, which were used with data communication. Industry has attempted to use such switches for communicating voice signals through the Internet. A variety of limitations, however, exist. For example, there is no easy and effective way of tracking a single call through the network, which is continuous and difficult to oversee. That is, the network is actually many networks using different protocols, which do not interface well with each other. Although effective for data communications, packet based voice communications has been difficult to implement. These and other limitations are described throughout the present specification and more particularly below.
From the above, improved telecommunication monitoring techniques are highly desirable.